JavaScript für Java-Entwickler
()
Über dieses E-Book
Mehr von Oliver Zeigermann lesen
Machine Learning – kurz & gut: Eine Einführung mit Python, Pandas und Scikit-Learn Bewertung: 5 von 5 Sternen5/5React: Grundlagen, fortgeschrittene Techniken und Praxistipps – mit TypeScript und Redux Bewertung: 0 von 5 Sternen0 Bewertungen
Ähnlich wie JavaScript für Java-Entwickler
Titel in dieser Serie (20)
JavaScript für Java-Entwickler Bewertung: 0 von 5 Sternen0 BewertungenNeo4j 2.0: Eine Graphdatenbank für alle Bewertung: 0 von 5 Sternen0 BewertungenAbofallen im Netz: Wie Sie teure Klicks vermeiden Bewertung: 0 von 5 Sternen0 BewertungenZertifizierung für Softwarearchitekten: Ihr Weg zur iSAQB-CPSA-F-Prüfung Bewertung: 0 von 5 Sternen0 BewertungenAgile Softwareentwicklung: Ein Leitfaden für Manager Bewertung: 0 von 5 Sternen0 BewertungenSecurity im E-Commerce: Absicherung von Shopsystemen wie Magento, Shopware und OXID Bewertung: 0 von 5 Sternen0 BewertungenCloud Computing: Rechtliche Grundlagen Bewertung: 0 von 5 Sternen0 BewertungenVorsicht Suchmaschine: Rechtliche Tipps für Google und Co. Bewertung: 0 von 5 Sternen0 BewertungenSQL-Abfragen optimieren: Was Entwickler über Performance wissen müssen Bewertung: 0 von 5 Sternen0 BewertungenJavaScript und TypeScript für C#-Entwickler Bewertung: 0 von 5 Sternen0 BewertungenCSS3: Die Referenz für Webentwickler Bewertung: 0 von 5 Sternen0 BewertungenJavaScript für Java-Entwickler Bewertung: 0 von 5 Sternen0 BewertungenIhr Recht bei Onlineauktionen. Juristische Tipps für eBay und Co. Bewertung: 0 von 5 Sternen0 BewertungenDynamic Proxies: Effizient programmieren Bewertung: 0 von 5 Sternen0 BewertungenJavaScript für Java-Entwickler Bewertung: 0 von 5 Sternen0 BewertungenCrime Scene Internet: Ein Streifzug durch das Computer- und Internetstrafrecht Bewertung: 0 von 5 Sternen0 BewertungenIhr Recht als Blogger: Juristische Tipps für Blogs, Podcasts und Co. Bewertung: 0 von 5 Sternen0 BewertungenSQL Server: Performanceprobleme analysieren und beheben Bewertung: 0 von 5 Sternen0 BewertungenZertifizierung für Softwarearchitekten: Ihr Weg zur iSAQB-CPSA-F-Prüfung Bewertung: 0 von 5 Sternen0 BewertungenIhr Recht als Programmierer: Juristische Tipps für Angestellte, Selbstständige und Freelancer Bewertung: 0 von 5 Sternen0 Bewertungen
Ähnliche E-Books
JavaScript und TypeScript für C#-Entwickler Bewertung: 0 von 5 Sternen0 BewertungenJavaScript für Java-Entwickler Bewertung: 0 von 5 Sternen0 BewertungenSoftware Development Trends: Wegweisende Beiträge für eine neue IT: Wegweisende Beiträge für eine neue IT Bewertung: 0 von 5 Sternen0 BewertungenJavaScript auf dem Server Bewertung: 0 von 5 Sternen0 BewertungenEinstieg in TypeScript: Grundlagen für Entwickler Bewertung: 0 von 5 Sternen0 BewertungenjQuery Mobile: Einfach mobile Web-Apps entwickeln Bewertung: 0 von 5 Sternen0 BewertungenOpenLaszlo: schnell + kompakt Bewertung: 0 von 5 Sternen0 Bewertungen.NET-Praxis: Tipps und Tricks zu .NET und Visual Studio Bewertung: 0 von 5 Sternen0 BewertungenNext Level JavaScript: Schlagworte Bewertung: 0 von 5 Sternen0 BewertungenVue.js kurz & gut Bewertung: 0 von 5 Sternen0 BewertungenBenutzerhandbuch zu ProjectLibre 1.9.3 Bewertung: 0 von 5 Sternen0 BewertungenJavaScript und Ajax: Das Praxisbuch für Web-Entwickler Bewertung: 0 von 5 Sternen0 BewertungenJavaScript kurz & gut Bewertung: 3 von 5 Sternen3/5Moderne Webanwendungen mit AngularJS Bewertung: 0 von 5 Sternen0 BewertungenMit Scratch 3 programmieren lernen Bewertung: 0 von 5 Sternen0 BewertungenJava FX - Status Quo: Status Quo Bewertung: 0 von 5 Sternen0 BewertungenSprachenkompendium: Vala, Go und Rust Bewertung: 0 von 5 Sternen0 BewertungenJavaScript für Enterprise-Entwickler: Professionell programmieren im Browser und auf dem Server Bewertung: 0 von 5 Sternen0 BewertungenMemory Leaks in Java Bewertung: 0 von 5 Sternen0 BewertungenEinführung in JavaFX: Moderne GUIs für RIAs und Java-Applikationen Bewertung: 0 von 5 Sternen0 BewertungenDurchstarten mit Scala: Tutorial für Einsteiger (2. Aufl.) Bewertung: 0 von 5 Sternen0 BewertungenApache Tapestry: Einstieg in die komponentenorientierte Webentwicklung Bewertung: 0 von 5 Sternen0 BewertungenjQuery Mobile - Basics: Basics Bewertung: 0 von 5 Sternen0 BewertungenWeb Services mit Apache CXF: Schnell und einfach erklärt Bewertung: 0 von 5 Sternen0 BewertungenDynamic Proxies: Effizient programmieren Bewertung: 0 von 5 Sternen0 BewertungenWicket: Komponentenbasiert und objektorientiert - das alternative Java-Webframework Bewertung: 0 von 5 Sternen0 BewertungenASP.NET Core: Eine Einführung Bewertung: 0 von 5 Sternen0 BewertungenEinblicke in C# 6.0 Bewertung: 0 von 5 Sternen0 BewertungenWindows 10 Update - Oktober 2018: Alles zum neuen Herbst-Update Bewertung: 0 von 5 Sternen0 Bewertungen
Programmieren für Sie
Algorithmen: Grundlagen und Implementierung Bewertung: 0 von 5 Sternen0 BewertungenProgrammieren von Kopf bis Fuß Bewertung: 4 von 5 Sternen4/5Programmieren für Einsteiger: Teil 1 Bewertung: 0 von 5 Sternen0 BewertungenJavaScript kurz & gut Bewertung: 3 von 5 Sternen3/5Python kurz & gut: Für Python 3.x und 2.7 Bewertung: 3 von 5 Sternen3/5Programmieren lernen mit Python 3: Schnelleinstieg für Beginner Bewertung: 0 von 5 Sternen0 BewertungenSQL von Kopf bis Fuß Bewertung: 4 von 5 Sternen4/5Programmieren für Einsteiger: Teil 2 Bewertung: 0 von 5 Sternen0 BewertungenC++: Eine kompakte Einführung Bewertung: 0 von 5 Sternen0 BewertungenPython | Schritt für Schritt Programmieren lernen: Der ultimative Anfänger Guide für einen einfachen & schnellen Einstieg Bewertung: 0 von 5 Sternen0 BewertungenHacken mit Python und Kali-Linux: Entwicklung eigener Hackingtools mit Python unter Kali-Linux Bewertung: 0 von 5 Sternen0 BewertungenGit kurz & gut Bewertung: 0 von 5 Sternen0 BewertungenDas große Python3 Workbook: Mit vielen Beispielen und Übungen - Programmieren leicht gemacht! Bewertung: 4 von 5 Sternen4/5Arduino: Ein schneller Einstieg in die Microcontroller-Entwicklung Bewertung: 5 von 5 Sternen5/5Mikrocontroller in der Elektronik: Mikrocontroller programmieren und in der Praxis einsetzen Bewertung: 0 von 5 Sternen0 BewertungenEigene Spiele programmieren – Python lernen: Der spielerische Weg zur Programmiersprache Bewertung: 0 von 5 Sternen0 BewertungenWeniger schlecht programmieren Bewertung: 4 von 5 Sternen4/5Linux Grundlagen - Ein Einstieg in das Linux-Betriebssystem Bewertung: 0 von 5 Sternen0 BewertungenC von Kopf bis Fuß Bewertung: 3 von 5 Sternen3/5Microsoft Word 2016 (Microsoft Press): Einfache Anleitungen für wichtige Aufgaben Bewertung: 0 von 5 Sternen0 BewertungenSQL – kurz & gut Bewertung: 0 von 5 Sternen0 BewertungenAndroid-Programmierung kurz & gut Bewertung: 0 von 5 Sternen0 BewertungenRaspberry Pi: Mach's einfach: Die kompakteste Gebrauchsanweisung mit 222 Anleitungen. Geeignet für Raspberry Pi 3 Modell B / B+ Bewertung: 0 von 5 Sternen0 BewertungenLinux Befehlsreferenz: Schnelleinstieg in die Arbeit mit der Konsole, regulären Ausdrücken und Shellscripting Bewertung: 0 von 5 Sternen0 BewertungenPowerShell: Anwendung und effektive Nutzung Bewertung: 5 von 5 Sternen5/5HTML5-Programmierung von Kopf bis Fuß: Webanwendungen mit HTML5 und JavaScript Bewertung: 0 von 5 Sternen0 BewertungenPython-Grundlagen Bewertung: 0 von 5 Sternen0 BewertungenJavaScript kinderleicht!: Einfach programmieren lernen mit der Sprache des Web Bewertung: 0 von 5 Sternen0 BewertungenDas Franzis Starterpaket Arduino Mega 2560: Das Handbuch für den Schnelleinstieg Bewertung: 0 von 5 Sternen0 BewertungenVue.js für alle: Wissenswertes für Einsteiger und Experten Bewertung: 0 von 5 Sternen0 Bewertungen
Rezensionen für JavaScript für Java-Entwickler
0 Bewertungen0 Rezensionen
Buchvorschau
JavaScript für Java-Entwickler - Oliver Zeigermann
geschützt.
1 Einleitung
JavaScript sieht auf den ersten Blick syntaktisch aus wie ein vereinfachtes Java. Somit haben viele Java-Entwickler das Gefühl, die Sprache JavaScript eigentlich zu kennen und sie daher nicht lernen zu müssen. Allerdings ist das Verhalten von JavaScript deutlich anders als das von Java.
Dieses Buch ist für Java-Entwickler gedacht, die mit so wenig Mühe wie möglich einen Überblick über die Sprache JavaScript erlangen wollen oder müssen. Missverständnisse werden ausgeräumt und eine Beherrschung der Muster und Grundkonzepte von JavaScript wird vermittelt.
Bibliotheken und Frameworks werden in diesem Buch ganz bewusst nicht behandelt. Hier geht es ausschließlich um die Sprache JavaScript und um Patterns, die für Java-Entwickler wichtig sind. Die Beschreibung der Sprache und der Patterns geschieht unabhängig von allen Bibliotheken und Frameworks, d.h. egal, welches Framework oder welche Bibliothek ihr einsetzen wollt, dieses Buch vermittelt euch die dazu notwendigen Grundlagen der Sprache JavaScript.
Dieses Buch ist keine Referenz und erhebt keinen Anspruch auf Vollständigkeit. Ich verzichte auf alle Details, die nicht wirklich notwendig für das Verständnis der Sprache sind. Zu jedem Thema gibt es aber Referenzen auf die ECMAScript-Spezifikation, Erklärungen beim Mozilla Development Network [1] oder andere passende Links.
Ich beziehe mich in den ersten Kapiteln auf die ECMAScript-Version 5.1 [2, 3]. Diese Version wird von allen modernen Browsern ab Internet Explorer 9 unterstützt. Eine kurze Erklärung zu ECMAScript: ECMAScript ist der Standard und JavaScript ist dazu die Implementierung.
In diesem Jahr (2015) ist die ECMAScript-Version 2015 [4] veröffentlicht worden. Andere Namen dafür sind ECMAScript 6 oder ES6. In Kapitel 7 werden wir uns die wichtigsten Neuerungen in ECMAScript 2015 ansehen.
Inhalt
Ihr könnt dieses Buch von vorn bis hinten durchlesen. In diesem Fall werden alle notwendigen Grundlagen der Sprache JavaScript vermittelt – zugeschnitten auf Java-Entwickler.
Je nach Interesse, Zeit und Vorkenntnissen könnt ihr aber auch nur einzelne Kapitel lesen. Wenn ihr noch wenig oder keine Erfahrung mit JavaScript gemacht habt, solltet ihr zumindest Kapitel 2 (Grundlagen) und Kapitel 3 (Funktionen) lesen. Sie bilden die Grundlage für die folgenden Kapitel. Insbesondere in Kapitel 3 sehen wir einiges, das auch für manche erfahrene JavaScript-Programmierer neu sein könnte.
In Kapitel 4 (Objekte, Prototypen und Vererbung) schauen wir uns an, wie Vererbung in JavaScript funktioniert und wie man die aus Java bekannten Mechanismen von Klassen und Vererbung auch in der JavaScript-Welt anwenden kann. Dazu nutzen wir einige Best Practices.
In Kapitel 5 (Module) schauen wir auf Modulkonzepte und Closures. Für dieses Kapitel solltet ihr das Wissen aus Kapitel 2 und 3 haben, Kapitel 4 ist dafür nicht unbedingt notwendig. Wir schließen das Kapitel mit einer Betrachtung der gängigen Modulformate AMD und CommonJS.
In Kapitel 6 (Fortgeschrittene Themen) kommen alle wichtigen Themen, die keine Grundlagen.png mehr sind. Besonders spannend sind dabei zusätzliche OO-Muster, die allerdings ein Verständnis der Themen aus Kapitel 4 erfordern.
Das siebte Kapitel wird, wie bereits erwähnt, alle besonders relevanten Neuerungen von ECMAScript 2015 zusammenfassen.
Das letzte Kapitel (TypeScript) behandelt eine typisierte Erweiterung von JavaScript, die die Entwicklung in großen Projekten erleichtert. Da TypeScript auf ECMAScript 2015 basiert, solltet ihr vorher auch Kapitel 7 gelesen haben.
Danksagung
Ich möchte mich bei allen bedanken, die bei diesem Buch mitgeholfen haben. Vielen Dank!
Links & Literatur
[1] Das Mozilla Development Network für JavaScript: https://developer.mozilla.org/en-US/docs/Web/JavaScript
[2] HTML-Version der ECMAScript-Spezifikation 5.1: http://www.ecma-international.org/ecma-262/5.1
[3] PDF-Version der ECMAScript-Spezifikation 5.1: http://www.ecma-international.org/publications/files/ECMA-ST/Ecma-262.pdf
[4] ECMAScript 2015: http://www.ecma-international.org/ecma-262/6.0/
2 Grundlagen
2.1 Hallo Welt
Die typische Ablaufumgebung für ein JavaScript-Programm ist der Browser. Zwar gibt es seit einiger Zeit mit Node.js [1] die Möglichkeit, JavaScript auch auf dem Server und von der Kommandozeile aufzurufen, wir werden uns hier aber auf die Ausführung im Browser beschränken. Im Browser läuft JavaScript durch Einbetten in eine HTML-Seite.
Die JavaScript-Konsole
Starten wir mit einem kurzen „Hallo-Welt"-Programm, das wir in der JavaScript-Konsole des Browsers laufen lassen. Dazu lernen wir das globale Object console (nicht zu verwechseln mit der JavaScript-Konsole) kennen, das die Funktion log() bietet. Mit dieser Funktion könnt ihr – ähnlich wie System.out.println() in Java – eine Ausgabe auf der Konsole erzeugen:
console.log(Hallo, Welt
);
Je nachdem, welchen Browser ihr nutzt, kommt ihr unterschiedlich an die Konsole heran. Mit dem Internet Explorer geht das z.B. über F12 oder das Zahnrad oben rechts, im Chrome über die Tastenkombinationen CTRL + Shift + J (auf dem Mac ⌥⌘J) oder über das so genannte „Hotdog-Menü rechts oben [2]. Hier könnt ihr nun direkt den JavaScript-Schnipsel von oben aufrufen und seht als Ausgabe den erwarteten „Hallo, Welt
-String. Zusätzlich erscheint eine Zeile mit der Ausgabe undefined, da JavaScript-Konsolen typischerweise auch die Rückgabe einer Funktion ausgeben. Die ist in diesem Fall eben undefined. Salopp kann man sich diese Rückgabe so vorstellen wie das, was bei einer void-Methode in Java zurückgeliefert wird, nämlich nichts.
JavaScript in HTML-Seiten
Für JavaScript-Code, der mehr als ein kleines Experiment ist, empfiehlt es sich, ihn aus einer HTML-Seite heraus aufzurufen. Das geht, indem man den Code direkt in die HTML-Seite einbettet wie in dem folgenden Beispiel.
utf-8>
alert(Hallo, Welt
);
Wenn ihr einen Rechner zur Hand habt, tippt dieses kleine Beispiel einmal mit einem Texteditor ab, speichert es unter index.html und ruft es mit dem Browser auf. Es sollte sich eine Nachrichtenbox mit dem Text „Hallo, Welt" zeigen. Im Chrome sieht das Ganze in etwa wie in Abbildung 2.1 aus.
Abbildung 2.1: Die Ausgabe unseres zweiten Hallo-Welt-Programms
Der Nachteil des kleinen Skripts: es vermischt HTML und JavaScript. Das wollen wir bei dem nächsten Beispiel anders machen und beides trennen. Zudem wollen wir einer weiteren Best Practice folgen und den JavaScript-Code erst am Ende einer HTML-Seite einfügen. Dadurch müssten wir bei der Darstellung der Seite keine Verzögerung während des Ladens und Parsens des JavaScript hinnehmen:
utf-8>
Dazu nun noch die passende JavaScript-Datei hallo.js:
alert(Hello World
);
Die Ausgabe dieses Beispiels unterscheidet sich nicht von der des vorherigen.
2.2 Typen
Wir steigen nun nach und nach in die relevanten Details der Sprache JavaScript ein. Es geht los mit Typen. Entgegen einer weit verbreiteten Meinung existieren diese in JavaScript. Neben object gibt es auch die drei primitiven Typen string, number und boolean.
Objekte
Ein Objekt in JavaScript können wir uns vereinfacht wie eine Map in Java vorstellen, jedoch mit der Syntax